计算机图像学基础
概述
计算机图形学:
OpenGL
:SGI开发的跨平台图形编程工具,是图形硬件的软件接口,是相对底层的三维图形接口。
OpenGL ES
:OpenGL子集,针对嵌入式系统。
WebGL
:OpenGL ES子集,针对浏览器
图像显示基本原理
主流显示技术:光栅图形显示
组成结构:
- 光栅显示器
光栅|Raster
:一组相互水平的水平扫描线- 水平扫描线:一组大小一致的显示单元组成的显示序列
- 显示单元|像素:显示颜色和灰度
- 水平扫描线:一组大小一致的显示单元组成的显示序列
- =>显示器上的图形是像素几何,光栅存储了屏幕的像素矩阵
显示流程:
RGB颜色系统
坐标系
Android Graphics架构
基本概览
应用开发者通过两种方式将图片画在屏幕上:
- Canvas
- OpenGL
android.graphics.Canvas
是在开发者中最流行的2D图形API。Canvas操作绘制所有的自带的和自定义的View。Canvas APIS硬件加速的实现是通过一个叫OpenGLRenderer
的绘制类库来将Canvas操作转换为OpenGL操作,使得这些操作可以通过GPU来执行。从Andoroid4.0开始,默认开启Canvas的硬件加速。因此,对于Android4.0和之后的设备的GPU强制要求支持OpenGL ES 2.0。
除了Canvas,另一个渲染图形的主要方式是使用OpenGL直接在surface上直接渲染。Android在android.opengl
包中提供了OpenGL ES接口,开发者可以通过SDK来调用GL实现或者是通过Android NDK提供的本地 APIs.
基本要素(basic principles)
- Bitmap
- Canvas
- Drawable